/*
* This file is a part of the open-eBackup project.
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at
* http://mozilla.org/MPL/2.0/.
*
* Copyright (c) [2024] Huawei Technologies Co.,Ltd.
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*/
package openbackup.k8s.protection.access.util;

import openbackup.k8s.protection.access.constant.K8sExtendInfoKey;

import java.util.Optional;

/**
 * 工具类
 *
 */
public class K8sUtil {
    /**
     * 根据内置agent id获取extend info key
     *
     * @param agentId 内置agentId
     * @return key
     */
    public static String getInternalAgentConnectionKey(String agentId) {
        return K8sExtendInfoKey.INTERNAL_AGENT_CONNECTION_PREFIX + agentId;
    }

    /**
     * 根据extend info key获取agent id
     *
     * @param extendInfoKey extend info key
     * @return agent id
     */
    public static Optional<String> getAgentIdFromExtendInfoKey(String extendInfoKey) {
        if (!extendInfoKey.startsWith(K8sExtendInfoKey.INTERNAL_AGENT_CONNECTION_PREFIX)) {
            return Optional.empty();
        }
        return Optional.of(extendInfoKey.substring(K8sExtendInfoKey.INTERNAL_AGENT_CONNECTION_PREFIX.length()));
    }
}
